﻿// JScript File
/******************************************************************/
/******************************************************************/
/***********************FUNCIONES GENERALES************************/
/******************************************************************/
/******************************************************************/

/*--------------- Alvitrez Villegas, Cristhian  -------------------/

/******************************************************************/
/******************************************************************/


/**************************************/
/***** Validacion de Email
/**************************************/
function checkEmailb(inEmail)
{
 var er_email1 = /^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/ ;//primer filtro
 var er_email2 = /^([0-9]|[a-z]|[A-Z]|\.|\@|\_|-)+$/ ;//segundo filtro
 var myTest1 =! er_email1.test(inEmail.value); 
 var myTest2 =! er_email2.test(inEmail.value);

    xvar = checkNull(inEmail, "Ingrese por favor su e-mail"); 
	if (!xvar)return false; 
	
	if (inEmail.value.indexOf('@') == -1)
	{
		alert ("Ingrese un e-mail valido"); 
		inEmail.focus(); 
		return false 
	}
	
	if (myTest1 || myTest2) 
	{
		alert('Su e-mail no es Válido\n'
		+'Verifique que este correctamente escrito\n'
		+'Posibles errores:\n'
		+'- Su e-mail contiene caracteres especiales [#$%&8¿?Çñ]\n'
		+'- Su e-mail contiene tildes [áéíóú]\n- Su e-mail contiene espacios en blanco');
		inEmail.focus(); 
		return false;
	}
	return true
} 
/**************************************/
/***** Acepta Entero
/**************************************/

function aceptaEntero(evt){
// NOTA: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
        var key = evt.keyCode;
        if (!(key <= 13 || (key >= 48 && key <= 57))) {
                window.event.keyCode="";
        }
}
/**************************************/
/***** Acepta Flotante
/**************************************/
function aceptaFlotante(evt,obj){
// NOTA: Backspace = 8, Enter = 13, '0' = 48, '9' = 57, '.' = 46
        var key = evt.keyCode;
        var cad = obj.value;
        if (!(key <= 13 || (key >= 48 && key <= 57) || key == 46)) {
                window.event.keyCode="";
        }
        if ((cad.indexOf('.')>0) && (key == 46)) {
                window.event.keyCode="";
        }
}
/**************************************/
/***** Acepta Cadena
/**************************************/
function aceptaCadena(evt){
// NOTA: Backspace = 8, Enter = 13, 'A' = 65, 'Z' = 90 , 'a' = 97 , 'z' = 122 , '.' = 46 , '-' = 45
//       '_' = 95 , '(' = 40, ')' = 41, '0' = 48, '9' = 57 , SPACE = 32
        var key = evt.keyCode;
        if (!(key <= 13 || (key == 32) || (key >= 47 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || key == 46 || key == 45 || key == 95 || key == 40 || key == 41  || key == 241 || key == 109 || key == 130 || (key >= 160 && key <=163) || key == 225 || key == 233 || key == 237 || key == 243 || key == 250 || key == 44 || key == 46 || key == 43 || key == 58 || key == 209  )) {
                window.event.keyCode="";
        }
}
/**************************************/
/***** Acepta cadena no enter
/**************************************/
function aceptaCadenaNoEnter(evt){
// NOTA: Backspace = 8, Enter = 13, 'A' = 65, 'Z' = 90 , 'a' = 97 , 'z' = 122 , '.' = 46 , '-' = 45
//       '_' = 95 , '(' = 40, ')' = 41, '0' = 48, '9' = 57 , SPACE = 32
        var key = evt.keyCode;
        if (!(key < 13 || (key == 32) || (key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || key == 46 || key == 45 || key == 95 || key == 40 || key == 41  || key == 241 || key == 109 || key == 130 || (key >= 160 && key <=163) || key == 225 || key == 233 || key == 237 || key == 243 || key == 250 || key == 44 || key == 46 || key == 43 || key == 58 || key == 209 )) {
                window.event.keyCode="";
        }
}

/**************************************/
/***** No escritura
/**************************************/

function noEscritura(evt){
        window.event.keyCode="";
}
/**********************************************************
/********** Valida el ingreso de solo decimales positivos
			  con separador de puntos.
**********************************************************/
function FP_SoloNumerosyPunto(e)
{
	var target = (e.target ? e.target : e.srcElement);
	var key = (e ? e.keyCode || e.which : window.event.keyCode);
	if (key == 46) return (target.value.length > 0 && target.value.indexOf(".") == -1);
	return (key <= 12 || (key >= 48 && key <= 57));
}
/**********************************************************/
/******* Valida el ingreso de valores alfanumericos con 
			  signo y separador de puntos.
**********************************************************/
function FP_SoloLetrasyNumeros(e)
{
	var target = (e.target ? e.target : e.srcElement);
	var key = (e ? e.keyCode || e.which : window.event.keyCode);
	return (key <= 12 || (key>=48 && key <=57) || (key>=65 && key <=90) || (key>=97 && key<=122) || (key==32) || (key>=164 && key <=165));
}
/**********************************************************
/******* Preloading de imagenes ( pasar la cadena "image1&image2&image3")
**********************************************************/
var arrayOferta;
var arrayFotos= new Array();  

var preload_image_object = new Array();

function cargaPreLoad(oferta)
{
    arrayOferta = oferta.value.split("&");
    //  alert(arrayOferta.length);
    for(var x=0;x<arrayOferta.length;x++)
    {
        var ofertaItem = arrayOferta[x].split("|");
        arrayFotos.push(ofertaItem[0]);
    //            if (document.images)
    //            {
           preload_image_object[x] = new Image();
            var data="http://localhost:3614/Casino la Hacienda/data/promociones/";
            preload_image_object[x].src = data + ofertaItem[0];
            
             var imgtemp = document.createElement("img");
             imgtemp.src=data + ofertaItem[0];
           //alert(data+ofertaItem[0]);
    //            }
    }

}
/**********************************************************/
/* Valida que la información del control actual esté completa */
/**********************************************************/

function validateFill (objControl,msgError)
{
	textValue = objControl.value.toString();
	if (textValue == "") 
	{
		showMessage(objControl,msgError);
		return(false);
	}
	else
		return(true);
}
/**********************************************************/
/* Valida que la información sea S o N */
/**********************************************************/
function validateIndicador (objControl,msgError)
{
	textValue = objControl.value.toString();
	if ( textValue == "S" || textValue == "N") 
	{
		showMessage(objControl,msgError);
		return(true);
	}
	else
		return(false);
}
/**********************************************************/
/* Valida que la información del control actual esté completa, 
   dependiendo del valor de otro control */
/**********************************************************/
function validateFillDepend (objControl,objControlDepend,msgError)
{
	textValue = objControl.value.toString();
	textValueDepend = objControlDepend.value.toString();
	if ( textValue == "" && textValueDepend != "" ) {
		showMessage(objControl,msgError);
		return (false);
	}
	else
		return (true);
}
/**********************************************************/
/* Valida que la información de uno de los controles tenga valor	*/
/**********************************************************/
function validateFillSomeone (objControl,objControlDepend,msgError)
{
	textValue = objControl.value.toString();
	textValueDepend = objControlDepend.value.toString();
	if ( textValue == "" && textValueDepend == "" ) 
	{
		showMessage(objControl,msgError);
		return (false);
	}
	else
		return (true);
}

/**********************************************************/
/* Valida que la fecha esté correctamente ingresada */
/**********************************************************/
function validateDate (objControl,txtFieldLabel)
{
	var Cadena = objControl.value.toString();
	if (Cadena == null || Cadena == "")
		return true;
	
	var Fecha = new String(Cadena);
	var Dia = new String(Fecha.substring(0,Fecha.indexOf(SYMBOL_DATE)));
	var Mes = new String(Fecha.substring(Fecha.indexOf(SYMBOL_DATE)+1,Fecha.lastIndexOf(SYMBOL_DATE)));
	var Ano = new String(Fecha.substring(Fecha.lastIndexOf(SYMBOL_DATE)+1,Fecha.length));

	if (isNaN(Dia) || eval(Dia)<1 || eval(Dia)>31)
	{
		showMessage(objControl,"Día no válido para " + txtFieldLabel);
		return false;
	}
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12) 
	{
		showMessage(objControl,"Mes no válido para " + txtFieldLabel);
		return false;
	}
	if (isNaN(Ano)) 
	{
		showMessage(objControl,"Año no válido para " + txtFieldLabel);
		return false;
	} 
	else 
	if (Ano.length<4 ) 
	{
		showMessage(objControl,"Año debe ser de cuatro dígitos para " + txtFieldLabel);
		return false;
	}
	else 
	if (parseFloat(Ano)<1900) 
	{
		showMessage(objControl,"Año debe ser mayor a 1900 para " + txtFieldLabel);
		return false;
	}
	
	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2)
	{
		if ( Mes==2 && Dia > 29 || Dia>30 ) 
		{
			showMessage(objControl,"Día no válido para '" + txtFieldLabel + "'");
			return false;
		}
	}

	return true;
}

/**********************************************************/
/* Valida que la fecha esté correctamente ingresada (Año no obligatorio) */
/**********************************************************/
function validateDateWithoutYear (objControl,txtFieldLabel)
{
	var Cadena = objControl.value.toString();
	if (Cadena == null || Cadena == "")
		return true;
	
	var Fecha = new String(Cadena);
	if (Fecha.length <= 5 && (Fecha.indexOf(SYMBOL_DATE,Fecha.length-1) != Fecha.length-1))
		Fecha = Fecha + SYMBOL_DATE;

	var Dia = new String(Fecha.substring(0,Fecha.indexOf(SYMBOL_DATE)));
	var Mes = new String(Fecha.substring(Fecha.indexOf(SYMBOL_DATE)+1,Fecha.lastIndexOf(SYMBOL_DATE)));
	var Ano = new String(Fecha.substring(Fecha.lastIndexOf(SYMBOL_DATE)+1,Fecha.length));

	if (isNaN(Dia) || eval(Dia)<1 || eval(Dia)>31)
	{
		showMessage(objControl,"Día no válido para " + txtFieldLabel);
		return false;
	}
	
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12) 
	{
		showMessage(objControl,"Mes no válido para " + txtFieldLabel);
		return false;
	}
	if (Ano != '')
	{
		if (isNaN(Ano))
		{
			showMessage(objControl,"Año no válido para " + txtFieldLabel);
			return false;
		}
		else 
			if (Ano.length < 4)
			{
				showMessage(objControl,"Año debe ser de cuatro dígitos para " + txtFieldLabel);
				return false;
			}
			else
			{ 
				if (parseFloat(Ano) < 1900) 
				{
					showMessage(objControl,"Año debe ser mayor a 1900 para " + txtFieldLabel);
					return false;
				}
			}
				
	}
	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2)
	{
		if (Mes == 2 && Dia>28 || Dia>30)
		{
			showMessage(objControl,"Día no válido para '" + txtFieldLabel + "'");
			return false;
		}
	}

	return true;
}

/**********************************************************/
/* Valida que la hora esté correctamente ingresada */
/**********************************************************/
function validateHour (objControl,txtFieldLabel)
{
	var cadena = objControl.value.toString();
	if ( cadena == null || cadena == "" )
		return true;

	var Hora = new String(cadena);
    var er_fh = /^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23)\:([0-5]0|[0-5][1-9])$/
	if ( Hora == "" ) {
		showMessage(objControl,"Ingrese la hora para el campo '" + txtFieldLabel + "'");
		return false;
	}
	if ( !(er_fh.test(Hora)) ) {
		showMessage(objControl,"Hora no válida para el campo '" + txtFieldLabel + "'");
		return false;
	}

	return true;
}

/**********************************************************/
/* Valida que la Dirección de Email esté correcta */
/**********************************************************/
function validateEmail (objControl, msgError)
{
	textValue = objControl.value.toString();
	if (textValue == "")
		return true;
	pos_ini = textValue.indexOf('@',0);
	
	if (pos_ini < 1)
	{
		showMessage(objControl, msgError);
		return false;
	}
	else
	{
		if ( textValue.indexOf('@',pos_ini) == pos_ini &&
			 textValue.indexOf('@',pos_ini+1) >= pos_ini+1 ) {
			showMessage(objControl, msgError);
			return false;
		}
		else 
		{
			lenEmail = textValue.length;
			if ( textValue.substring(pos_ini+1,lenEmail).length <= 0 ) 
			{
				showMessage(objControl, msgError);
				return false
			}
			else
				return true;
		}
	}
}
/**********************************************************/
/* Emite un mensaje de alerta y devuelve el enfoque al control */
/**********************************************************/
function showMessage (objControl,PromptStr)
{
	alert(PromptStr);
	objControl.focus();
}


/**********************************************************/
/* Carga la Fecha actual del sistema */
/**********************************************************/
function loadDate (objDateControl)
{
	Todays = new Date();
	var v_Day = (Todays.getDate() < 10) ? "0" + Todays.getDate() : Todays.getDate();
	var v_Month = (Todays.getMonth()+1 < 10) ? "0" + (Todays.getMonth()+1) : Todays.getMonth()+1;
	var v_Year = (Todays.getYear() < 10) ? "0" + Todays.getYear() : Todays.getYear();
	TheDate = v_Day + SYMBOL_DATE + v_Month + SYMBOL_DATE + v_Year;
	objDateControl.value = TheDate;
}


/**********************************************************/
/* Carga la Fecha y Hora (ambos) actual del sistema */
/**********************************************************/
function loadDateAndHour (objDateControl,objHourControl)
{
	Todays = new Date();
	var v_Day = (Todays.getDate() < 10) ? "0" + Todays.getDate() : Todays.getDate();
	var v_Month = (Todays.getMonth()+1 < 10) ? "0" + (Todays.getMonth()+1) : Todays.getMonth()+1;
	var v_Year = (Todays.getYear() < 10) ? "0" + Todays.getYear() : Todays.getYear();
	TheDate = v_Day + SYMBOL_DATE + v_Month + SYMBOL_DATE + v_Year;
	objDateControl.value = TheDate;
	var hours = Todays.getHours();
	var minutes = Todays.getMinutes();
	var timeValue = "" + hours;
	timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
	objHourControl.value = timeValue;
}
/**********************************************************/
/* Formatea la fecha al formato YYYY-MM-DD hh:mm:ss */
/**********************************************************/
function formatToDateTime (objControlDate,objControlTime,objControlRes)
{
	var Fecha = new String(objControlDate.value);
	if (Fecha != "" && Fecha != null)
	{
		var Ano = new String(Fecha.substring(Fecha.lastIndexOf(SYMBOL_DATE)+1,Fecha.length));
		var Mes = new String(Fecha.substring(Fecha.indexOf(SYMBOL_DATE)+1,Fecha.lastIndexOf(SYMBOL_DATE)));
		var Dia = new String(Fecha.substring(0,Fecha.indexOf(SYMBOL_DATE)));
		var Hora = new String(objControlTime.value);
		if ( Hora.length == 0 )
			objControlRes.value = "" + Ano + SYMBOL_DATE_CONV + Mes + SYMBOL_DATE_CONV + Dia + " " + Hora + "00:00:00";
		else
			objControlRes.value = "" + Ano + SYMBOL_DATE_CONV + Mes + SYMBOL_DATE_CONV + Dia + " " + Hora + ":00";
	} else
		objControlRes.value = "";
}

/**********************************************************/
/* Formatea la fecha al formato YYYY-MM-DD */
/**********************************************************/
function formatToDate (objControlDate,objControlRes)
{
	var Fecha = new String(objControlDate.value);
	if ( Fecha != "" && Fecha != null )
	{
		var Ano = new String(Fecha.substring(Fecha.lastIndexOf(SYMBOL_DATE)+1,Fecha.length));
		var Mes = new String(Fecha.substring(Fecha.indexOf(SYMBOL_DATE)+1,Fecha.lastIndexOf(SYMBOL_DATE)));
		var Dia = new String(Fecha.substring(0,Fecha.indexOf(SYMBOL_DATE)));
		objControlRes.value = Ano + SYMBOL_DATE_CONV + Mes + SYMBOL_DATE_CONV + Dia;
	} else
		objControlRes.value = "";
}


/**********************************************************/
/* Formatea la fecha al formato DD/MM/YYYY */
/**********************************************************/
function formatToDateScreen (objControlDate)
{
	var Fecha = new String(objControlDate.value);
	var Ano = new String(Fecha.substring(Fecha.lastIndexOf(SYMBOL_DATE)+1,Fecha.length));
	var Mes = new String(Fecha.substring(Fecha.indexOf(SYMBOL_DATE)+1,Fecha.lastIndexOf(SYMBOL_DATE)));
	var Dia = new String(Fecha.substring(0,Fecha.indexOf(SYMBOL_DATE)));

	objControlDate.value = Dia + SYMBOL_DATE + Mes + SYMBOL_DATE + Ano;
}


 /**********************************************************/
/* Valida el ingreso de números Enteros */
/**********************************************************/
function validateInputInteger (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 44) || keyCode == 46 || keyCode == 47 || (keyCode >= 58) 
		|| (keyCode == 45 && (p_textbox.value.toLowerCase().indexOf('-',0) >= 0 || p_textbox.value.toLowerCase().length > 0))) 
			event.returnValue = false;
}
/**********************************************************/
/* Valida el ingreso de números Enteros mayores a cero */
/**********************************************************/
function validateInputIntegerPositive (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 44) || keyCode == 46 || keyCode == 47 || (keyCode >= 58) 
		|| (keyCode == 45 && (p_textbox.value.toLowerCase().indexOf('0',0) >= 0 || p_textbox.value.toLowerCase().indexOf('-',0) >= 0 || p_textbox.value.toLowerCase().length > 0))) 
			event.returnValue = false;
}

/**********************************************************/
/* Valida el ingreso de números Decimales */
/**********************************************************/
function validateInputDecimal (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 40) || (keyCode >= 41 && keyCode <= 44) || keyCode == 47 
		|| (keyCode >= 58) || (keyCode == 46 && p_textbox.value.toLowerCase().indexOf('.',0) >= 0)
		|| (keyCode == 45 && (p_textbox.value.toLowerCase().indexOf('-',0) >= 0 || p_textbox.value.toLowerCase().length > 0)))
			event.returnValue = false;
}

/**********************************************************/
/* Valida el ingreso de números Decimales positivos */
/**********************************************************/
function validateInputDecimalPositive (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if ( keyCode == 16 || (keyCode >= 32 && keyCode <= 40) || (keyCode >= 41 && keyCode <= 44) || keyCode == 47 
		|| (keyCode >= 58) || (keyCode == 46 && p_textbox.value.toLowerCase().indexOf('.',0) >= 0)
		|| (keyCode == 45 && (p_textbox.value.toLowerCase().indexOf('0',0) >= 0 || p_textbox.value.toLowerCase().indexOf('-',0) >= 0 || p_textbox.value.toLowerCase().length > 0)) )
		event.returnValue = false;
}

/**********************************************************/
/* Valida el ingreso de números Enteros Positivos */
/**********************************************************/
function validateInputIntegerPos (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 44) || keyCode == 46 || keyCode == 47 || (keyCode >= 58) 
		|| (keyCode == 45)) 
		event.returnValue = false;
}


/**********************************************************/
/* Valida el ingreso de números Decimales Positivos */
/**********************************************************/
function validateInputDecimalPos (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 40) || (keyCode >= 41 && keyCode <= 44) || keyCode == 47 
		|| (keyCode >= 58) || (keyCode == 46 && p_textbox.value.toLowerCase().indexOf('.',0) >= 0)
		|| (keyCode == 45))
		event.returnValue = false;
}


/**********************************************************/
/* Valida el ingreso de campos Fecha */
/**********************************************************/
function validateInputDate (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 40) || (keyCode >= 41 && keyCode <= 44) 
		|| keyCode == SYMBOL_DATE_NUMOUT || keyCode == 46 || keyCode >= 58 )
		event.returnValue = false;
	else 
	{
		var lenTxt = p_textbox.value.length;
		if ( lenTxt <= 2 ) 
		{
			//Valida que no exista los simbolos de fecha en las posiciones no adecuadas
			if ( lenTxt != 2 && keyCode == SYMBOL_DATE_NUM )
				event.returnValue = false;
			//Validar que los números no sean mayor a tres digitos
			if ( lenTxt == 2 && keyCode != SYMBOL_DATE_NUM )
				event.returnValue = false;
			//Valida que el primer dígito sea menor a 4 (por ser el día)
			if ( keyCode > 51 && lenTxt == 0 )
				event.returnValue = false;
			//Valida que el segundo dígito del dia no sea mayor a 1 cuando el primero es 3 ni igual a 0
			//cuando el primero es 0
			if (( p_textbox.value.substring(0,1) == "3" && keyCode >= 50)
					|| (p_textbox.value.substring(0,1) == "0" && keyCode == 48))
				event.returnValue = false;
		} 
		else 
		{
			if (lenTxt <= 5)
			{
				//Valida que no exista los simbolos de fecha en las posiciones no adecuadas
				if ( lenTxt != 5 && keyCode == SYMBOL_DATE_NUM )
					event.returnValue = false;
				//Validar que los números no sean mayor a tres digitos
				if ( lenTxt == 5 && keyCode != SYMBOL_DATE_NUM )
					event.returnValue = false;
				//Valida que el primer dígito sea menor a 2 (por ser el mes)
				if ( keyCode > 49 && lenTxt == 3 )
					event.returnValue = false;
				//Valida que el segundo dígito del dia no sea mayor a 2 cuando el primero es 1 ni igual a 0
				//cuando el primero es 0
				if ( ( p_textbox.value.substring(3,4) == "1" && keyCode >= 51 )
						|| ( p_textbox.value.substring(3,4) == "0" && keyCode == 48 ) )
					event.returnValue = false;
			}
			else
			{
				//Valida que no exista los simbolos de fecha en las posiciones no adecuadas
				if ( keyCode == SYMBOL_DATE_NUM )
					event.returnValue = false;
			}
		}
	}
}
/**********************************************************/
/* valida la fecha  sin barra*/
/**********************************************************/
function validateInputDateFormat (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 40) || (keyCode >= 41 && keyCode <= 44) 
		|| keyCode == SYMBOL_DATE_NUMOUT || keyCode == 46 || keyCode >= 58 || keyCode == SYMBOL_DATE_NUM)
		event.returnValue = false;
	else
	{
		var lenTxt = p_textbox.value.length;
		if ( lenTxt <= 2 ) 
		{
			//Valida que el primer dígito sea menor a 4 (por ser el día)
			if (keyCode > 51 && lenTxt == 0)
			{	event.returnValue = false;	}

			//Valida que el segundo dígito del dia no sea mayor a 1 cuando el primero es 3 ni igual a 0
			//cuando el primero es 0
			if (lenTxt == 1 && (( p_textbox.value.substring(0,1) == "3" && keyCode >= 50 )
					|| ( p_textbox.value.substring(0,1) == "0" && keyCode == 48 )))
				event.returnValue = false;		

			//Valida que el tercer dígito sea menor a 1 
			if ( keyCode > 49 && lenTxt == 2 )
			{	event.returnValue = false;	}
		}
		else 
		{
			if ( lenTxt <= 3 ) 
			{
				//Valida que no exista los simbolos de fecha en las posiciones no adecuadas
				if ( lenTxt != 4 && keyCode == SYMBOL_DATE_NUM )
					event.returnValue = false;
				//Validar que los números no sean mayor a tres digitos
				if ( lenTxt == 4 && keyCode != SYMBOL_DATE_NUM )
					event.returnValue = false;
				//Valida que el primer dígito sea menor a 2 (por ser el mes)
				if ( keyCode > 49 && lenTxt == 2 )
					event.returnValue = false;
				//Valida que el segundo dígito del dia no sea mayor a 2 cuando el primero es 1 ni igual a 0
				//cuando el primero es 0
				if ( ( p_textbox.value.substring(2,3) == "1" && keyCode >= 51 )
						|| ( p_textbox.value.substring(2,3) == "0" && keyCode == 48 ) )
					event.returnValue = false;
			}
			else
			{
				//Valida que no exista los simbolos de fecha en las posiciones no adecuadas
				if ( keyCode == SYMBOL_DATE_NUM )
					event.returnValue = false;
			}
		}
	}
}

/**********************************************************/
/* Valida el ingreso de campos Fecha SOLO FORMATO HORA */
/**********************************************************/
function validateInputHour (p_textbox)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 16 || (keyCode >= 32 && keyCode <= 40) || (keyCode >= 41 && keyCode <= 44) 
		||keyCode == 46 || keyCode >= 59)
		event.returnValue = false;
	else 
	{
		var lenTxt = p_textbox.value.length;
		if ( lenTxt <= 2 ) 
		{
			//Validar que los números no sean mayor a tres digitos
			if (lenTxt == 2 && keyCode != SYMBOL_HOUR_NUM)
				event.returnValue = false;
			//Valida que el primer dígito sea menor o igual 2 (por ser la hora)
			if ( lenTxt == 0 && keyCode > 50)
				event.returnValue = false;
			//Valida que el segundo dígito de la hora no sea mayor a 3 cuando el primero es 2
			if ( (lenTxt == 1) && ( p_textbox.value.substring(0,1) == "2" && keyCode > 51 ) ) {
				event.returnValue = false; }
		}
		else 
		if (lenTxt <= 4)
		{
			//Validar que los números no sean mayor a tres digitos
			if (lenTxt == 5 && keyCode != SYMBOL_HOUR_NUM)
				event.returnValue = false;
			//Valida que el primer dígito sea menor a 6 (por ser los minutis)
			if (keyCode > 53 && lenTxt == 3)
				event.returnValue = false;
		}
		else 
		{
			//Valida que no exista los simbolos de fecha en las posiciones no adecuadas
			if (keyCode == SYMBOL_HOUR_NUM)
				event.returnValue = false;
		}
	}
}
 

 /**********************************************************/
/* Ubica en una lista (objControl), el valor que se pasa 
  como parametro (valorList)  y bloquea el combo*/
/**********************************************************/
function selectedListBloq (objControl,valorList)
{
	var options = objControl.options;
	for ( sel=0; sel<options.length; sel++ ) 
	{
		if ( options[sel].value == valorList ) 
		{
			options[sel].selected = true;
			objControl.disabled=true;
			break;
		}
	}	
}
/**********************************************************/
/* Abre una ventana en el tamaño deseado y en la posición central */
/**********************************************************/
function openNewWindowPopup (widthBrowser,heightBrowser)
{
	var widthMonitor = screen.width;
	var heightMonitor = screen.height;
	var posX = (widthMonitor - widthBrowser)/2;
	var posY = (heightMonitor - heightBrowser)/2 - 40;
	window.resizeTo(widthBrowser, heightBrowser);
	window.moveTo(posX, posY);
}

 
 /**********************************************************/
/*	Esta función permite actualizar el valor literal de un checkbox, a un campo
	hidden, si esta prendido el hidden vale '', sino vale 'N'	*/
/**********************************************************/
function updateCheckValue (objCheck, objHidden, strChecked, strUnchecked)
{
	if (objCheck.checked)
		objHidden.value = strChecked;
	else
		objHidden.value = strUnchecked;
}
/**********************************************************/
/* Esta funcion devuelve el centrado horizontal */
/**********************************************************/
function getHorizontalCenter (widthBrowser)
{
	var widthMonitor = screen.width;
	var posX = (widthMonitor - widthBrowser)/2;
	return posX;
}
/**********************************************************/
/* Esta funcion devuelve el centrado vertical */
/**********************************************************/
function getVerticalCenter (heightBrowser)
{
	var heightMonitor = screen.height;
	var posY = (heightMonitor - heightBrowser)/2 - 40;
	return posY;
}
 

/**********************************************************/
/* Hace un SUBMIT del formulario pasado como parametro, luego de la pulsación 
de la tecla ENTER */
/**********************************************************/
function validateEnterKey (frmInput)
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if ( keyCode == 13 )
		frmInput.submit();
}
/**********************************************************/
/* Valida la pulsación de la tecla ENTER */
/**********************************************************/
function isValidateEnterKey ()
{
	if (document.layers)
		document.captureEvents(Event.KEYPRESS);
	var keyCode = event.keyCode;
	if (keyCode == 13)
		return true;
	else
		return false;
}
/**********************************************************/
/*	Recorre los valores de una lista en un formulario
	y retorna TRUE si encuentra 2 elementos con valores iguales y 
	FALSE si todos son diferentes.		*/
/**********************************************************/
function validateList (xform,elemento,nItem)
{
	var valorCbo1, valorCbo2;
	var resultado = false;
	for (i=1; i<nItem; i++) 
	{
		valorCbo1 = xform.elements[elemento+i].value;
		for ( j=i+1; j<nItem+1; j++ )
		{
			valorCbo2 =xform.elements[elemento+j].value;
			if (valorCbo1==valorCbo2)
			{  
				resultado=true;
				break;
			}
		}
	}
	return resultado;
}
 

 
 /**********************************************************/
/*Limpia todos los elementos de un formulario*/
/**********************************************************/
function clearFormElements (frmSubmit)
{
	for ( var i=0; i<frmSubmit.elements.length; i++ ) 
	{
		if ( frmSubmit.elements[i].type.toLowerCase() == 'text' ) 
		{
			frmSubmit.elements[i].value = "";
		}
		else 
			if ( frmSubmit.elements[i].type.toLowerCase() == 'checkbox' ) 
			{
				frmSubmit.elements[i].checked = false;
				strName = "hid" + frmSubmit.elements[i].name.substring(3,frmSubmit.elements[i].name.length);
				frmSubmit.elements[strName].value = "";				
			}
			else
				if ( frmSubmit.elements[i].type.toLowerCase() == 'select-one' ) 
				{	selectedList(frmSubmit.elements[i],'');	}
	}
}

/**********************************************************/
//Limpia todos los elementos de un formulario
/**********************************************************/
function nullFormElements (frmSubmit)
{
	for (var i=0; i<frmSubmit.elements.length; i++) 
	{
		if (frmSubmit.elements[i].type.toLowerCase() == 'text')
		{
			frmSubmit.elements[i].value = null;
		}
		else
		if (frmSubmit.elements[i].type.toLowerCase() == 'checkbox')
		{
			frmSubmit.elements[i].checked = false;
			strName = "hid" + frmSubmit.elements[i].name.substring(3,frmSubmit.elements[i].name.length);
			frmSubmit.elements[strName].value = null;
		}
		else 
			if (frmSubmit.elements[i].type.toLowerCase() == 'select-one')
			{	selectedList(frmSubmit.elements[i],null);	}
	}
}
 
/**********************************************************/
//Valida la Edad Minima y Maxima de un Cliente, en base a la Fecha Actual,
//enviada como parámetro del Sistema
/**********************************************************/
function validateAgeMinAndMax (o_fechanac, o_min, o_max, o_fechanow)
{
	//Fecha de Nacimiento
	var v_FechaNac = o_fechanac.value;
	var anoCalc = 0;
	if ( v_FechaNac != "" && v_FechaNac.length == 10 )
	{
		var diaNac = v_FechaNac.substring(0,v_FechaNac.indexOf(SYMBOL_DATE));
		var mesNac = v_FechaNac.substring(v_FechaNac.indexOf(SYMBOL_DATE)+1,v_FechaNac.lastIndexOf(SYMBOL_DATE));
		var anoNac = v_FechaNac.substring(v_FechaNac.lastIndexOf(SYMBOL_DATE)+1,v_FechaNac.length);
		//Fecha Actual
		var v_FechaNow = o_fechanow.value;
		var diaNow = v_FechaNow.substring(0,v_FechaNow.indexOf(SYMBOL_DATE));
		var mesNow = v_FechaNow.substring(v_FechaNow.indexOf(SYMBOL_DATE)+1,v_FechaNow.lastIndexOf(SYMBOL_DATE));
		var anoNow = v_FechaNow.substring(v_FechaNow.lastIndexOf(SYMBOL_DATE)+1,v_FechaNow.length);
		//Edad Minima y Maxima
		var edadMin = o_min.value;
		var edadMax = o_max.value;
		//Realizando los calculos de la edad
		anoCalc = anoNow - anoNac;
		if ( anoCalc < 0 )
		{
			showMessage(o_fechanac, "Año de nacimiento es mayor que el año de la fecha actual");
			return false;
		}
		else
			if ( anoCalc == 0 )
			{
				showMessage(o_fechanac, "Año de nacimiento es igual que el año de la fecha actual");
				return false;
			}
			else
			{
				if (!((mesNow > mesNac) || ((mesNow == mesNac) && (diaNow >= diaNac))))
					anoCalc--;
				if ((anoCalc < edadMin) || (anoCalc > edadMax))
				{
					showMessage(o_fechanac, "Edad actual no se encuentra entre los criterios de Inscripcion");
					return false;
				}
				else
					return true;
			}
	} else
		return true;
}
/**********************************************************/
//Abre una ventana
/**********************************************************/
function openPopupWindow(p_Form, p_Title, nX, nY, p_Scroll, p_Resizable)
{
	var posX = getHorizontalCenter(nX);
	var posY = getVerticalCenter(nY);
	win=window.open(p_Form, p_Title, "width=" + nX + ",height=" + nY + ",left=" + posX + ",top=" + posY + ",scrollbars=" + p_Scroll + ",toolbar=no,directories=no,resizable=" + p_Resizable );
	win.focus();
}

 
  
 
 
/**********************************************************/
//Compara si la fecha de ini (dd-mm-yyyy) es menor 
/*  que la fecha fin (dd-mm-yyyy), como cadenas
/**********************************************************/
function fComparaFechas(sFiniAux, sFfinAux)
{
	var dIni, mIni, yIni;
	var dFin, mFin, yFin;

	sFini= new String(sFiniAux);
	sFfin= new String(sFfinAux);
	
	dIni = sFini.substr(0,2);
	mIni = sFini.substr(3,2);
	yIni = sFini.substr(6,4);

	dFin = sFfin.substr(0,2);
	mFin = sFfin.substr(3,2);
	yFin = sFfin.substr(6,4);
	
	if (eval(yIni) < eval(yFin)) 
	{	return (true);	}
	else
	{//4
		if (eval(yIni) == eval(yFin)) 
		{//3
			if (eval(mIni) < eval(mFin))
			{	return (true);	}
			else
			{//2
				if (eval(mIni) == eval(mFin)) 
				{//1
					if (eval(dIni) <= eval(dFin))
					{	return (true);	}
				}//1
			}//2
		}//3
	}//4
	return (false);
}
 
/**********************************************************/
/**** imprime 
/**********************************************************/
function Imprimir()
{

	var Version = parseInt(navigator.appVersion);

	var Browser = navigator.appName;
	if ((Browser == "Netscape")&&(Version > 3)) 
	{	window.print();	}
	else
		if (Browser == "Microsoft Internet Explorer")
		{
			document.body.insertAdjacentHTML("beforeEnd",
			"<object id=\"printWB\" width=0 height=0 \
			classid=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\"></object>");
			execScript("on error resume next: printWB.ExecWB 6, 1", "VBScript");
			printWB.outerHTML = "";
		}
}
/**********************************************************/
//Resaltar filas
/**********************************************************/
function hiliteRow(tableID)
{
		var table = document.all?document.all[tableID]:document.getElementById(tableID);
		var objTR = event.srcElement.parentNode;
		if (objTR.tagName != "TR")
			{objTR =objTR.parentNode;}
		if (objTR.tagName == "TR")
		{
		    if(objTR.rowIndex>1 && objTR.rowIndex<(table.rows.length-1))
		    {
				//objTR.style.backgroundColor='#F0FAFF';
				if ( objTR.rowIndex%2 != 1 )
					objTR.style.backgroundColor = '#E1F5FF';
				else
					objTR.style.backgroundColor = '#CEEFFF'; 
			}
		}
		return;
}
/**********************************************************/
//Desmarcar filas
/**********************************************************/
function nohiliteRow(tableID)
{
		var table = document.all?document.all[tableID]:document.getElementById(tableID);
		var objTR = event.srcElement.parentNode;
		if (objTR.tagName != "TR")
			{objTR =objTR.parentNode;}
		if (objTR.tagName == "TR")
		{
		    if(objTR.rowIndex>1 && objTR.rowIndex<(table.rows.length-1))
		    {
				if ( objTR.rowIndex%2 != 1 )
					objTR.style.backgroundColor = '#FFFFFF'; //"BodyContentGrid_DetailBgColor_Alternate2";
				else
					objTR.style.backgroundColor = '#EFEFEF'; //"BodyContentGrid_DetailBgColor_Alternate1";
			}
		}		
		return;
}

/**********************************************************/
///mostrar datos del navegador del la pagina actual
/**********************************************************/

function MostrarDatosNavegador()
{
    document.write("<b>Motor del Navegador:</b> "+navigator.appCodeName+"<br>");
    document.write("<b>El Navegador es: </b>"+navigator.appName+"<br>");
    document.write("<b>LA versión del Navegador es:</b> "+navigator.appVersion+"<br>");
    if (navigator.javaEnabled())document.write("Tiene Java activado<br>");
    else document.write("No tiene Java activado <br>");
    document.write("<b>Motor del Navegador:</b> "+navigator.userAgent+"<br>");
    document.write("<b>Idioma del Navegador:</b> "+navigator.userLanguage+"<br>");
    document.write("<b>Anchura de la Pantalla:</b>"+screen.width+" pixels<br>");
    document.write("<b>Altura de la Pantalla:</b>"+screen.height+" pixels<br>"); 
}
/**********************************************************/
/***** Crea un boton de guardar la pagina
/**********************************************************/

function guardarcomo()
{
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
    document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 
    WebBrowser1.ExecWB(4, 0);
    WebBrowser1.outerHTML = "";
}

/**********************************************************/
/// Valida nros ,letras y espacio
/**********************************************************/
function validaletrasnumerosespacio(){

if((window.event.keyCode>=65 && window.event.keyCode<=90) || (window.event.keyCode>=97 && window.event.keyCode<=122) || (window.event.keyCode>=48 && window.event.keyCode<=57) || (window.event.keyCode==209) || (window.event.keyCode==241) || (window.event.keyCode==32))
    {
        window.event.returnValue=true;
    }
    else
    {
        window.event.returnValue=false;
    }

}
/**********************************************************/
///valida letras y numeros 
/**********************************************************/
function validaletrasnumeros(){

if((window.event.keyCode>=65 && window.event.keyCode<=90) || (window.event.keyCode>=97 && window.event.keyCode<=122) || (window.event.keyCode>=48 && window.event.keyCode<=57) || (window.event.keyCode==209) || (window.event.keyCode==241))
    {
        window.event.returnValue=true;
    }
    else
    {
        window.event.returnValue=false;
    }
}
/**********************************************************/
///bloquea el teclado
/**********************************************************/
function bloqueateclado(){
    
    if(window.event.keyCode < 27 &&   window.event.keyCode > 241)
    {
        window.event.returnValue=true;
    }
    else
    {
        window.event.returnValue=false;
    }
}
/**********************************************************/
///valida las extesiones de los campos
/**********************************************************/
 function comprobarExtensionFoto(controlFoto)
{
    var exito = true;
    //var file= document.getElementById("fuFoto")
    var file= controlFoto;
    var exte= file.value.substr(file.value.length-3,file.value.length-(file.value.length-3))
    var ext = exte.toLowerCase();
    if(ext!="jpg" && ext!="bmp" && ext!="gif"){
        exito=false;
    }
    return exito;
}
/**********************************************************/
///REPLACE : REEMPLAZA EL CARACTER INGRESADO 
/**********************************************************/
function replaceAll( str, from, to ) {
    var idx = str.indexOf( from );
    while ( idx > -1 ) {
        str = str.replace( from, to ); 
        idx = str.indexOf( from );
    }
    return str;
}

/**********************************************************/
// LOCATION HREF SELFT
/************************************************************/
function gourl(url){
    location.href=url;
}

